<script type="text/JavaScript">
	$(document).ready(function(){
		var qid = $('input[name="question_id"]').val();
		$('select[name="question_type"]').change(function(){
			var _this = $(this);
			window.location.href = '/webadmin/question/set?tid='+_this.val()+'&qid='+qid;
		});

		// 添加归类信息
		$('a[name="classify_add"]').click(function(){
			var text = ($(this).text() == '添加归类') ? '隐藏归类' : '添加归类';
                        var ids = $(this).data('norm');
			$(this).text(text);
			$('#'+ids+'_classify_name').val('');
			$('#'+ids+'_classify_add_td').toggle(500); 
		});
                
                // 添加分类
		$('input[name="classify_add_sub"]').click(function(){
                        var norm = $(this).data('norm');
                        var classify_name_obj = $('#'+norm+'_classify_name');
			var classify_name = classify_name_obj.val();
                        var parent_id = 0,
                            parent_str = '',
                            ctype = 0;
                        
                        //上级的信息
                        switch(norm){
                            case 'one':
                                ctype = 1;
                                break;
                            case "two":
                                parent_id = $('#one').val();
                                parent_str = "确认不选择一级指标？";
                                ctype = 2;
                                break;
                            case "three":
                                parent_id = parseInt($('#two').val()) ? $('#two').val() : $('#one').val();
                                parent_str = "确认不选择二级指标或者一级指标？";
                                ctype = 3;
                                break;
                        }
                        
			if(classify_name == '' && !parseInt(is_basic)){
				alert('请填写归类名称！');
				classify_name_obj.focus();
				return false;
			}
                        
                        if(parent_str && !parseInt(parent_id)){
                            var or = confirm(parent_str);
                            if(!or){
                                return false;
                            }
                        }
                        
			$.post('/webadmin/question/addClassify', {qid:qid,name:classify_name,parent_id:parent_id,ctype:ctype}, function(data){
				if(!data.ok){
					alert(data.msg);
					return false;
				}
				var sHtml = '';
				$.each(data.msg, function(i, v){
					sHtml += '<option value="'+v.key+'">'+v.value+'</option>';
				});
				$('#'+norm).html(sHtml);
				var text = ($('a[data-norm="'+norm+'"').text() == '添加归类') ? '隐藏归类' : '添加归类';
				$('a[data-norm="'+norm+'"').text(text);
				$('#'+norm+'_classify_add_td').toggle(500);
			},'json');

		});
                
                
                // 删除分类信息
                $('a[name="classify_delete"]').click(function(){
                    var norm = $(this).data('delnorm'),
                        ctype = {"one":1, "two":2, "three":3},
                        or = confirm("您确定要删除此分类吗？"),
                        classify_id = $('#'+norm).val();
                    
                    if(!or){
                        return false;
                    }
                    if(!parseInt(classify_id)){
                        alert("请先选择分类");
                        $('#'+norm).focus();
                        return false;
                    }
                    if(!parseInt(ctype[norm])){
                        alert("未知的分类类型");
                        return false;
                    }
                    // 发送删除请求
                    $.post('/webadmin/question/classifyDelete', {qid:qid, classify_id:classify_id, ctype:ctype[norm]}, function(data){
                        alert(data.msg);
                        if(data.ok){
                            window.location.reload();
                        }
                            
                    },'json');
                    
                });
		
		/*********************************************************************************************************************************************************
		 * 各个页面验证
		 ********************************************************************************************************************************************************/
		
		//添加选项
		$('.addTr').click(function(){
			add_tr();
		});
		
		//编辑时的添加操作按钮显示
		$('input[name="display_items[]"]').click(function(){
			if ($(this).val() == 1) {
				if($(this).is(':checked')){
					$('#koufen').show();
				}
			}
		});
		
		//标准分值
		$('select[name="is_basic"]').change(function(){
			var value = $(this).val();
			if(parseInt(value)){
				$('#standard_score_name').fadeOut(500);
				$('#standard_score').fadeOut(500);
			}else{
				$('#standard_score_name').fadeIn(500);
				$('#standard_score').fadeIn(500);
			}
		});
		
		// 被扣分人员的显示
		$('input[name="display_items[]"]').click(function(){
			if ($(this).val() == 1) {
				if($(this).is(':checked')){
					$('#koufen').fadeIn(200);
					$('#select_table tr[name="addtr_name_foreach"]').show();
				}else{
					$('#koufen').fadeOut(200);
					$('#select_table tr[name="addtr_name_foreach"]').hide();
					$('#select_table tr[name="addtr_name"]').remove();
				}
			}
		});
		
		//关联题目
		$('input[name="is_relation"]').click(function(){
			if($(this).is(':checked')){
				$('#relation').fadeIn(200);
				$('#relation_num').fadeIn(200);
			}else{
				$('#relation').fadeOut(200);
				$('#relation_num').fadeOut(200);
			}
		})
		
		
		$('#submit_fill').click(function () {
			var post = {},
				msg = '';
			
			// 阻止表单提交
			$('#subject_form').submit(function(){
				return false;
			});
			
			post.question_id = $('input[name="question_id"]').val();
			//验证1.是否为基本信息
			post.is_basic = $('select[name="is_basic"]').val();
			if (post.is_basic == '') {
				msg += "请选择是否为基本信息\r\n";
			}
			
			//验证2.题目类型
			post.question_type = $('select[name="question_type"]').val();
			if (!parseInt(post.question_type)) {
				msg += "请选择题型\r\n";
			}

			//验证3.问题归类
			post.classify_id = $('select[name="three_classify_id"]').val();
                        var is_basic = $('select[name="is_basic"]').val();
			if (!parseInt(post.classify_id) && !parseInt(is_basic)) {
				msg += "请选择问题归类\r\n";
			}
			//验证4.题目编号
			post.question_num = $('input[name="question_num"]').val();
			if (post.question_num == '') {
				msg += "请填写题目编号\r\n";
			}
			//验证5.题目标题
			post.title = $('input[name="title"]').val();
			if (post.title == '') {
				msg += "请选择题目名称\r\n";
			}
			//6.验证标准得分
			if($('#standard_score').is(':visible')){
				post.standard_score = $('input[name="standard_score"]').val();
				if (post.standard_score == '' || isNaN(post.standard_score)) {
					msg += "请填写正确的标准得分（标准得分必须为自然数）\r\n";
				}
			}
			
			//验证7.选择题选项内容
			var optionsLength = $('#select_table tr[name="addtr_name"]').length;
			var optionSub = $('select[name="question_type_sub"]').val();
			if (!parseInt(optionsLength) && post.question_type == 2) {
				msg += '请填写选项内容\r\n';
				
			}else if( (optionSub == '4') && parseInt(optionsLength) < 2 ){
				msg += '选择题类型为多选，则选项内容必须多于2项\r\n';
			}
			
			//验证8.被扣分人员（选项内容）
			var optionsLength = $('#select_table tr[rel="option"]').length;
			var koufenFlag = false;
			$('input[name="display_items[]"]').each(function(){
				if ($(this).val() == 1) {
					if($(this).is(':checked')){
						koufenFlag = true;
					}
				}
			});
			if (koufenFlag) {
				if(!parseInt(optionsLength)){
					msg += '请填写被扣分人员信息\r\n';
				}	
			}
			
			//验证9.关联题目的信息
			var relation = $('input[name="is_relation"]:checked').val();
			var relationNum = $('input[name="relation_num"]').val();
			var pattern;
			if(parseInt(relation)){
				if(relationNum.length > 1){
					var tmp = relationNum.replace('，',',');
					var ops = tmp.split(',');
					$.each(ops, function(i, v){
						pattern = /^[a-zA-Z]{1}[0-9]{1}$/i;
						if (!pattern.test(v)) {
							msg += '请填写正确的关联题目值\r\n';
						}
					});
					
				}else{
					pattern = /^[a-zA-z]{1}$/i;
					if (!pattern.test(relationNum)) {
						msg += '请填写正确的关联题目值\r\n';
					}
				}
			}
			
			if (msg) {
				alert(msg);
				return false;
			}
			
			
			////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
			
			// 验证10. 选择题选项的内容
			var keySta = true;
			var options = [];
			$('#select_table tr[name="addtr_name"]').each(function(){
				var keyVal = $(this).find('input[name="keys[]"]').val(),
					valueVal = $(this).find('input[name="values[]"]').val(),
					pattern = /^[a-zA-z0-9]{1}$/i;
					
				if(!pattern.test(keyVal)){
					alert('请填写正确的选项“键名称（键名称为字母或者数字，不论大小写）”');
					$(this).find('input[name="keys[]"]').focus();
					keySta &= false;
					return false;
				}else if($.inArray(keyVal.toUpperCase(), options) > -1){
					alert('“'+ keyVal +'”选项已经存在');
					$(this).find('input[name="keys[]"]').focus();
					keySta &= false;
					return false;
				}else{
					options.push(keyVal.toUpperCase());
				}
				
				if(valueVal == ''){
					alert('选项“值内容”不能为空');
					$(this).find('input[name="values[]"]').focus();
					keySta &= false;
					return false;
				}
			});
			if(!keySta){
				return false;
			}
			
			// 验证11. 得分题选项的内容
			var keySta = true;
			var options = [];
			$('#select_table tr[rel="option"]').each(function(){
				var keyVal = $(this).find('input[name="keys[]"]').val(),
					valueVal = $(this).find('input[name="values[]"]').val(),
					pattern = /^[a-zA-z0-9]{1}$/i;
					
				if(!pattern.test(keyVal)){
					alert('请填写正确的选项“键名称（键名称为字母或者数字，不论大小写）”');
					$(this).find('input[name="keys[]"]').focus();
					keySta &= false;
					return false;
					
				}else if($.inArray(keyVal.toUpperCase(), options) > -1){
					alert('“'+ keyVal +'”选项已经存在');
					$(this).find('input[name="keys[]"]').focus();
					keySta &= false;
					return false;
					
				}else{
					options.push(keyVal.toUpperCase());
				}
				
				if(valueVal == ''){
					alert('“被扣分人员”不能为空');
					$(this).find('input[name="values[]"]').focus();
					keySta &= false;
					return false;
				}
			});
			if(!keySta){
				return false;
			}
			
			
			//验证题目编号
			var check;
			var subject_id = $('input[name="subject_id"]').val();
			$.ajax({
				type: "POST",
				async: false,
				url: '/webadmin/question/checkquestionnum',
				data:{question_num:post.question_num, question_id:post.question_id, subject_id:subject_id},
				dataType: 'json',
				success: function (data) {
					check = data;
				}
			});
			if (!check.ok) {
				alert(check.msg);
				return false;
			}
			
			// 正式提交
			var postStr = $('#subject_form').serialize();
			$.ajax({
				type: "POST",
				async: true,
				url: '/webadmin/question/doset',
				data: postStr,
				dataType: 'json',
				beforeSend: function(){
					$('#submit_fill').val('正在处理，请稍候...');
				},
				success: function (data) {
					$('#submit_fill').val('保存');
					if(data.ok){
						alert(data.msg.text);
						if(data.msg.url){
							window.location.href = data.msg.url;
						}else{
							window.location.reload();
						}
						
					}else{
						alert(data.msg);
					}
				}
			});
			
		});
		
		
	});
	
	function add_tr(){
		var html = $('#hidden_tr').html();
		$('#select_table').append(html);
	}
        
        /**
         * javascript 调试函数
         */
        function ls(msg, isExit){
            console.log(msg);
        }
        
        /**
         * javascript 调试函数
         */
        function fo(msg){
            console.info(msg);
        }
	
</script>